importPackage(java.util);

function init(map, errors, arrayStr){
	var array = eval('('+arrayStr+')');
	var handle = function($){
		var msg = '';
		if(a.error){
			msg = a.error;
		}
		var v = function(regex, data){
			var t = vRegex[regex];
			if(t){
				if(msg){
					
				}else if(t.error){
					msg = t.error;
				}
				if(t.regex){
					regex = t.regex;
				}
				if(t.fun){
					return t.fun(data);
				}
			}
			// 执行 
			return (new RegExp(regex, 'i')).test(data);
		};
		var script = a.func;
		if(script.search('return')==-1){
			script = 'return ' + script;
		}
		var retVal = eval('((function(){' + script + '})())');
		
		if(retVal===false){
			errors.put(a.name, msg);//增加错误
			if($ && v){};//仅为去掉警告!!!!
			return true;
		}
	};
	
	
	for(var i=0; i<array.length; i++){
		var a = array[i];
		//假设全部以数组论处
		var strs = map.get(a.name);
		if(!strs){
			if(a.option != 'true'){
				errors.put(a.name, "必须包含参数");//增加错误
				break; 
			}
			continue ;
		}
		for(var t=0; t<strs.length; t++){
			if(handle(strs[t]+'')){//String对象 转为js Str
				break;
			};
		}
		
	};
}
